package statisticsde;

import java.util.ArrayList;
import java.util.Date;

public class Pagefuntion {
    Pagefuntion() {}
    //创建集合
    ArrayList<Page> list=new ArrayList<>();
    //1.记录页面访问
    public void record(String url) {
        boolean flag=false;
        for (int i = 0; i < list.size(); i++) {
            Page p = list.get(i);
            if (p.getUrl().equals(url)) {
                p.setVisitnum(p.getVisitnum() + 1);
                flag=true;
                break;
            }

        }
        if (!flag) {
            Page newPage = new Page(url);
            list.add(newPage);
            newPage.setVisitnum(1);
        }
    }
    //2.显示访问量排行榜
    public void showrank(){
        if(list.size()==0) {
            System.out.println("网页列表为空，无法显示");
        }
        else{
            //冒泡排序
            for(int i=0;i<list.size();i++) {
                for(int j=0;j<list.size()-i-1;j++) {
                    if(list.get(j).getVisitnum()< (list.get(j+1).getVisitnum())) {
                        Page temp = list.get(j);
                        list.set(j, list.get(j+1));
                        list.set(j+1, temp);
                        break;
                    }
                }
            }
            //遍历输出
            for(int i=0;i<list.size();i++) {
                System.out.println(list.get(i).getUrl() + " : " + list.get(i).getVisitnum());
            }
        }
    }
    //3.统计总访问量
    public int  totalVisitnum(){
        int total=0;
        for(int i=0;i<list.size();i++) {
            total+=list.get(i).getVisitnum();
        }
        return total;
    }
    //4.计算平均访问量
    public double averageVisitnum(){
        double total=0.0;
        for(int i=0;i<list.size();i++) {
            total+=list.get(i).getVisitnum();
        }
        return total/list.size();
    }
    //5.显示页面最后访问时间
    public Date showLastVisit(String url){
        for(int i=0;i<list.size();i++) {
            Page p = list.get(i);
            if (p.getUrl().equals(url)) {
            return p.getLastvisit();
            }
            if (p.getUrl() == null) {
            }
        }
        return null;
    }
    //6.清空访问统计
    public void clear(){
        list.clear();
    }
}
